<?	
	/* Se asegura que el archivo es incluido por el index */
	defined( 'LOAD_MODULE_ACTION' ) or die( 'No esta permitido el acceso directo a ' . __FILE__ );  
		$this->oTmpObject = new Agencia_Excursion_frm( $this );
	
	class Agencia_Excursion_frm extends Frm
	{
	function setValue ( $ncOrden, $ncEstablecimiento )
		{
			$cSql = "SELECT  ncTipoExcursion,  bVisitaGuiada,  bSalidasRegulares,  cdExcursion,  cDescripcion,  bOrganiza
				FROM gtExcursion
				WHERE ncOrden = '$ncOrden' AND  ncEstablecimiento = '$ncEstablecimiento' ";
			$aDatos = $this->oDatabase->getArray($cSql);	
			$this->setFieldsArray ( $aDatos );
		}
	function Agencia_Excursion_frm( &$oModule )
		{
			$this->Frm( $oModule );
			//Crea los Objetos de los campos de edicion
			$this->aFields['ncEstablecimiento']		= new Input( "Codigo Establecimiento", "ncEstablecimiento" , '', false, true);
			$this->aFields['ncOrden']						= new Input( "Codigo", "ncOrden" , '', false, true);
			$this->aFields['ncTipoExcursion']			= new InputList( "Tipo", "ncTipoExcursion" );
			$this->aFields['bVisitaGuiada']				= new InputList( "Visita Guiada", "bVisitaGuiada" );
			$this->aFields['bSalidasRegulares']		= new InputList( "Salidas Regulares", "bSalidasRegulares" );
			$this->aFields['bOrganiza']					= new InputList( "Organiza" ,"bOrganiza" );	
			$this->aFields['cdExcursion']				= new InputText( "Nombre", "cdExcursion" );
			$this->aFields['cDescripcion']				= new InputText( "Descripcion", "cDescripcion" );
			$this->aFields['aProductos']				= new InputCheck( "Productos", "aProductos" );
		}	
	function initializeForm()
		{
			// Si viene el Ubicacion hace el retrieve
				if ( $this->isRetrievable() && $this->aFields['ncOrden']->getValue() && $this->aFields['ncEstablecimiento']->getValue() )
				{
					$this->setValue( $this->aFields['ncOrden']->getValue(), $this->aFields['ncEstablecimiento']->getValue() );
				}
			// Configura el Titulo
				$this->setLabel( "Agencia - Excursion" );	
			return true;
		}
	function initializeField( $cField , &$oField )
		{			
			switch ( $cField )
			{
					case 'aProductos':
						if ($this->aFields['ncEstablecimiento']->getValue()  )
						{
							$cSql = "SELECT Par.ncProducto, Par.cdProducto, Tab.ncEstablecimiento
												FROM gtProductoTuristico as Par
												LEFT JOIN gtProductoAgencia as Tab
														ON Tab.ncProducto = Par.ncProducto
														AND Tab.ncEstablecimiento = " . $this->aFields['ncEstablecimiento']->getValue()  . "
														AND Tab.ncOrden = " . $this->aFields['ncOrden']->getValue()  . "
												ORDER BY Par.cdProducto";
						} else
						{
							$cSql = "SELECT ncProducto, cdProducto
												FROM gtProductoTuristico
												ORDER BY cdProducto";
						}
						$oField->setMatrix( $this->oDatabase->getMatrix( $cSql ) );
						$oField->setMultiple( true );
					break;
					case 'ncTipoExcursion':
						$cSql = "SELECT ncTipoExcursion, cdTipoExcursion FROM gcTipoExcursion";
						$oField->setLanguage('es');
						$oField->setMatrix($this->oDatabase->getMatrix($cSql));
						$oField->setMandatory($this->isMandatory());
					break;
					case 'bVisitaGuiada':
					case 'bOrganiza':
					case 'bSalidasRegulares':
						$oField->setBool();
					break;
					case 'cDescripcion':
						$oField->setEditor();
					break;
			}
 		}
	}
?>